.\" -*-nroff-*-
.\"
.\" Copyright (C) 2010, 2011, 2012, 2013, 2014, 2018, 2019, 2020, 2021
.\" Martin Lambers <marlam@marlam.de>
.\" Frédéric Devernay <Frederic.Devernay@inrialpes.fr>
.\"
.\" Copying and distribution of this file, with or without modification, are
.\" permitted in any medium without royalty provided the copyright notice and this
.\" notice are preserved. This file is offered as-is, without any warranty.
.TH Bino 1 2021-11
.SH NAME
Bino - a 3D video player with multi-display support.
.SH SYNOPSIS
.B bino
[option...] [file...]
.SH DESCRIPTION
Bino plays stereoscopic videos, also known as 3D videos. Such videos have
separate views for the left and right eye and thus allow depth perception
through stereopsis.
.br
All input files are combined into one media source, so you can have video,
audio, and subtitle streams in separate files. The files are decoded with
the \fBFFmpeg\fP libraries, so URLs and other special constructs are
supported.
.IP "\-\-help"
Print help.
.IP "\-\-version"
Print version.
.IP "\-n|\-\-no\-gui"
Do not use the GUI, just play the given input in a plain window using the
parameters given on the command line.
.IP "\-\-log\-file=\fIFILE\fP"
Append all log messages to the given file.
.IP "\-L|\-\-log\-level=\fILEVEL\fP"
Select log level:
\fIdebug\fP, \fIinfo\fP, \fIwarning\fP, \fIerror\fP, or \fIquiet\fP.
.IP "\-\-list\-audio\-devices"
Print a list of known audio devices and exit.
.IP "\-A|\-\-audio\-device=\fIN\fP"
Use audio device number N. N=0 is the default device.
.IP "\-D|\-\-audio\-delay=\fID\fP"
Delay audio by D milliseconds. Default is 0.
.IP "\-V|\-\-audio\-volume=\fIV\fP"
Set audio volume (0 to 1). Default is 1.
.IP "\-m|\-\-audio\-mute"
Mute audio.
.IP "\-\-device\-type=\fITYPE\fP"
Type of input device: \fIdefault\fP, \fIfirewire\fP, or \fIx11\fP.
.IP "\-\-device\-frame\-size=\fIW\fPx\fIH\fP"
If the input is a device, request the given frame size, e.g. 640x480.
.IP "\-\-device\-frame\-rate=\fIN\fP/\fID\fP"
If the input is a device, request the given frame rate, e.g. 25/1.
.IP "\-\-device\-format=\fIFORMAT\fP"
Request format \fIdefault\fP or \fImjpeg\fP from device.
.IP "\-\-read\-commands=\fIFILE\fP"
Read commands from file.
.IP "\-\-lirc\-config=\fIFILE\fP"
Use the given LIRC configuration file. This option can be used more than once.
.IP "\-\-quality=\fIQ\fP"
Set rendering quality, from 0 (fastest) to 4 (best, default).
.IP "\-v|\-\-video=\fISTREAM\fP"
Select video stream (1-n, depending on the input).
.IP "\-a|\-\-audio=\fISTREAM\fP"
Select audio stream (1-n, depending on the input).
.IP "\-s|\-\-subtitle=\fISTREAM\fP"
Select subtitle stream (1-n, depending on the input).
.IP "\-i|\-\-input=\fITYPE\fP"
Select input type.
.RS
.IP "\fImono\fP"
Single view.
.IP "\fIseparate\-left\-right\fP"
Left/right view in separate streams, left first.
.IP "\fIseparate\-right\-left\fP"
Left/right view in separate streams, right first.
.IP "\fIalternating\-left\-right\fP"
Left/right alternating, left first.
.IP "\fIalternating\-right\-left\fP"
Left/right alternating, right first.
.IP "\fItop\-bottom\fP"
Left view top, right view bottom.
.IP "\fItop\-bottom\-half\fP"
Left view top, right view bottom, half height.
.IP "\fIbottom\-top\fP"
Left view bottom, right view top.
.IP "\fIbottom\-top\-half\fP"
Left view bottom, right view top, half height.
.IP "\fIleft\-right\fP"
Left view left, right view right.
.IP "\fIleft\-right\-half\fP"
Left view left, right view right, half width.
.IP "\fIright\-left\fP"
Left view right, right view left.
.IP "\fIright\-left\-half\fP"
Left view right, right view left, half width.
.IP "\fIeven\-odd\-rows\fP"
Left view even rows, right view odd rows.
.IP "\fIodd\-even\-rows\fP"
Left view odd rows, right view even rows.
.PP
The default is to autodetect the input type from meta data stored in the file.
If this fails, Bino tries to autodetect the input type based on the file name,
by looking at the last part of the file name before the file name extension
(.ext). If that fails, too, Bino guesses based on the resolution of the input.
.br
The following file name forms are recognized:
.IP "*\-lr.ext"
left\-right
.IP "*\-lrh.ext or *\-lrq.ext"
left\-right\-half
.IP "*\-rl.ext"
left\-right swapped
.IP "*\-rlh.ext or *\-rlq.ext"
left\-right\-half swapped
.IP "*\-tb.ext or *\-ab.ext"
top\-bottom
.IP "*\-tbh.ext or *\-abq.ext"
top\-bottom\-half
.IP "*\-bt.ext or *\-ba.ext"
top\-bottom swapped
.IP "*\-bth.ext or *\-baq.ext"
top\-bottom\-half swapped
.IP "*\-eo.ext or *\-eoq.ext or *\-3dir.ext"
even\-odd\-rows
.IP "*\-oe.ext or *\-oeq.ext or *\-3di.ext"
even\-odd\-rows swapped
.IP "*\-2d.ext"
mono
.RE
.IP "\-o|\-\-output=\fITYPE\fP"
Select output type.
.RS
.IP "\fIstereo\fP"
OpenGL quad\-buffer stereo.
.IP "\fIalternating\fP"
Left and right view alternating.
.IP "\fImono\-left\fP"
Left view only.
.IP "\fImono\-right\fP"
Right view only.
.IP "\fItop\-bottom\fP"
Left view top, right view bottom.
.IP "\fItop\-bottom\-half\fP"
Left view top, right view bottom, half height.
.IP "\fIleft\-right\fP"
Left view left, right view right.
.IP "\fIleft\-right\-half\fP"
Left view left, right view right, half width.
.IP "\fIeven\-odd\-rows\fP"
Left view even rows, right view odd rows.
.IP "\fIeven\-odd\-columns\fP"
Left view even columns, right view odd columns.
.IP "\fIcheckerboard\fP"
Left and right view in checkerboard pattern.
.IP "\fIhdmi\-frame\-pack\fP"
HDMI frame packing mode (left top, right bottom, plus extra blank lines
separating the two views). This mode is only necessary if you are forcing your
display into the corresponding HDMI 3D mode.
.IP "\fIred\-cyan\-monochrome\fP"
Red/cyan anaglyph, monochrome method.
.IP "\fIred\-cyan\-half\-color\fP"
Red/cyan anaglyph, half color method.
.IP "\fIred\-cyan\-full\-color\fP"
Red/cyan anaglyph, full color method.
.IP "\fIred\-cyan\-dubois\fP"
Red/cyan anaglyph, high-quality Dubois method.
.IP "\fIgreen\-magenta\-monochrome\fP"
Green/magenta anaglyph, monochrome method.
.IP "\fIgreen\-magenta\-half\-color\fP"
Green/magenta anaglyph, half color method.
.IP "\fIgreen\-magenta\-full\-color\fP"
Green/magenta anaglyph, full color method.
.IP "\fIgreen\-magenta\-dubois\fP"
Green/magenta anaglyph, high-quality Dubois method.
.IP "\fIamber\-blue\-monochrome\fP"
Amber/blue anaglyph, monochrome method.
.IP "\fIamber\-blue\-half\-color\fP"
Amber/blue anaglyph, half color method.
.IP "\fIamber\-blue\-full\-color\fP"
Amber/blue anaglyph, full color method.
.IP "\fIamber\-blue\-dubois\fP"
Amber/blue anaglyph, high-quality Dubois method.
.IP "\fIred\-green\-monochrome\fP"
Red/green anaglyph, monochrome method.
.IP "\fIred\-blue\-monochrome\fP"
Red/blue anaglyph, monochrome method.
.IP "\fIequalizer\fP"
Multi-display OpenGL via Equalizer with a 2D canvas setup.
.IP "\fIequalizer\-3d\fP"
Multi-display OpenGL via Equalizer with a 3D screen setup.
.PP
For stereo input, the default is \fIstereo\fP if the display supports it,
otherwise \fIred\-cyan\-dubois\fP. The default for mono input is
\fImono\-left\fP.
.RE
.IP "\-S|\-\-swap\-eyes"
Swap left/right view.
.IP "\-f|\-\-fullscreen"
Fullscreen.
.IP "\-\-fullscreen\-screens=[\fIS0\fP[,\fIS1\fP[,...]]]"
Use the listed screens \fIS0\fP, ..., \fISn\fP in fullscreen mode. Screen numbers
start with 1. If the list is empty, the primary screen will be used (this is the
default).
.IP "\-\-fullscreen\-flip\-left"
Flip left view vertically when in fullscreen mode.
.IP "\-\-fullscreen\-flop\-left"
Flop left view horizontally when in fullscreen mode.
.IP "\-\-fullscreen\-flip\-right"
Flip right view vertically when in fullscreen mode.
.IP "\-\-fullscreen\-flop\-right"
Flop right view horizontally when in fullscreen mode.
.IP "\-\-fullscreen\-3dr\-sync"
Use DLP\*R 3-D Ready Sync when in fullscreen mode.
.IP "\-z|\-\-zoom=\fIZ\fP"
Set zoom for videos that are wider than the screen, from 0 (off; show full
video width) to 1 (full; use full screen height). The default is 0.
.IP "\-C|\-\-crop=\fIW:H\fP"
Crop the video to the given aspect ratio, to remove borders. 0:0 disables cropping.
.IP "\-c|\-\-center"
Center window on screen.
.IP "\-\-subtitle\-encoding=\fIENC\fP"
Set subtitle encoding.
.IP "\-\-subtitle\-font=\fIFONT\fP"
Set subtitle font name.
.IP "\-\-subtitle\-size=\fIN\fP"
Set subtitle font size.
.IP "\-\-subtitle\-scale=\fIS\fP"
Set subtitle scale factor.
.IP "\-\-subtitle\-color=\fICOLOR\fP"
Set subtitle color, in [AA]RRGGBB format.
.IP "\-\-subtitle\-shadow=\fI\-1|0|1\fP"
Set subtitle shadow, \-1=default, 0=off, 1=on.
.IP "\-\-subtitle\-parallax=\fIVAL\fP"
Subtitle parallax adjustment (\-1 to +1).
.IP "\-P|\-\-parallax=\fIVAL\fP"
Parallax adjustment (\-1 to +1).
.IP "\-\-crosstalk=\fIVAL\fP"
Crosstalk leak level (0 to 1). Comma-separated values for the R,G,B channels.
.IP "\-\-ghostbust=\fIVAL\fP"
Amount of crosstalk ghostbusting to apply (0 to 1).
.IP "\-b|\-\-benchmark"
Benchmark mode: no audio, no time synchronization, output of frames-per-second
measurements.
.IP "\-\-swap\-interval=\fID\fP"
Frame rate divisor relative to display refresh rate. The default is 0 for
benchmark mode and 1 otherwise.
.IP "\-l|\-\-loop"
Loop the input media.
.IP "\-\-set\-vertical\-pixel\-shift\-left=\fIL\fP"
Set left vertical shift in input pixels.
.IP "\-\-set\-vertical\-pixel\-shift\-right=\fIR\fP
Set right vertical shift in input pixels.
.SH INTERACTIVE CONTROL
.IP "ESC"
Leave fullscreen mode, or quit when in window mode.
.IP "q"
Quit.
.IP "p or SPACE"
Pause / unpause.
.IP "f"
Toggle fullscreen.
.IP "c"
Center window.
.IP "e or F7"
Swap left/right eye.
.IP "v"
Cycle through available video streams.
.IP "a"
Cycle through available audio streams.
.IP "s"
Cycle through available subtitle streams.
.IP "1, 2"
Adjust contrast.
.IP "3, 4"
Adjust brightness.
.IP "5, 6"
Adjust hue.
.IP "7, 8"
Adjust saturation.
.IP "[, ]"
Adjust parallax.
.IP "(, )"
Adjust ghostbusting.
.IP "<, >"
Adjust zoom for videos that are wider than the screen.
.IP "/, *"
Adjust audio volume.
.IP "m"
Toggle audio mute.
.IP "."
Step a single video frame forward.
.IP "left, right"
Seek 10 seconds backward / forward.
.IP "down, up"
Seek 1 minute backward / forward.
.IP "page down, page up"
Seek 10 minutes backward / forward.
.IP "Mouse click"
Seek according to the horizontal click position.
.IP "Media Keys"
Media keys (if available) should work as expected.
.SH AUTHORS
The Bino developers.
.SH SEE ALSO
.BR ffmpeg (1)
